Method and system for mitigating adjacent track erasure in hard disk drives

ABSTRACT

A method, system, and computer program product for mitigating adjacent track erasures in hard disks, includes: determining input/output (I/O) characteristics for a plurality of blocks on a hard disk; assigning the plurality of blocks to a plurality of categories of I/O characteristics by the processor; and clustering content of the blocks assigned to the same category in one or more continuous tracks on the hard disk. Each block is assigned to one category. Blocks with similar I/O characteristics are clustered on one or more continuous tracks. By performing this clustering, blocks with a high number of I/O operations are grouped and stored on fewer tracks than if they were scattered across numerous tracks. This reduces the number of tracks experiencing a high number of I/O operations, and in turn, the amount of refreshing of adjacent tracks is reduced.

BACKGROUND

Secure deletion of data on non-volatile magnetic data storage, such as ahard disk, is an act of securely purging the data such that there are noresiduals of the data on the hard disk. Regulations exist which mandatethe need for secure deletion according to various standards, such asthat published by the U.S. Department of Defense. A hard disk driveincludes one or more hard disks clamped to a rotating spindle and atleast one head for reading or writing data on the disk. Storage on ahard disk is divided into “blocks”, which are in turn grouped into“tracks”. A disk head uses magnetism to read or write data onto thetracks. Secure deletion involves the overwriting of blocks on a track bythe disk head numerous times, depending on the standard being applied.Thus, secure deletion involves multiple input/output (I/O) operations onthe same blocks of a track.

As a track on the hard disk is written, adjacent tracks may beoverwritten by the magnetic field generated in the disk head, and datarecorded in the adjacent tracks may be erased or corrupted as a result.This phenomenon is called adjacent track erasure (ATE) or adjacent trackinterference (ATI) and are aggravated by the multiple overwritesrequired by secure deletion.

In one approach to counter ATE or ATI, when a track has been overwrittena certain number of times, the adjacent tracks are read and rewritten,hence refreshing the data on the adjacent tracks. However, the I/Ooperations required in the refreshing of the adjacent tracks impose aperformance penalty on the hard disk drive. With the aggravation of theATE and ATI phenomenon due to secure deletion requirements, the need torefresh adjacent tracks become more frequent, imposing an even highperformance penalty on the hard disk drive.

BRIEF SUMMARY

According to one embodiment of the present invention, a method formitigating adjacent track erasures in hard disks, the computeroperationally coupled to a processor, the method comprising: determininginput/output (I/O) characteristics for a plurality of blocks on a harddisk by the processor; assigning the plurality of blocks to a pluralityof categories of I/O characteristics by the processor; and clusteringcontent of the blocks assigned to the same category in one or morecontinuous tracks on the hard disk by the processor.

In one aspect of the present invention, the determining the I/Ocharacteristics for the plurality of blocks on the hard disk by theprocessor comprises determining secure deletion requirements for theplurality of blocks on the hard disk by the processor, the securedeletion requirements comprising overwriting rates for the plurality ofblocks; the assigning the plurality of blocks to the plurality ofcategories of I/O characteristics by the processor comprises assigningthe plurality of blocks to a plurality of categories associated with theoverwriting rates; and the clustering the content of the blocks assignedto the same category in the one or more continuous tracks on the harddisk by the processor comprises clustering the content of the blocksassigned to the same overwriting rate category in the one or morecontinuous tracks on the hard disk by the processor.

In one aspect of the present invention, the determining the I/Ocharacteristics for the plurality of blocks on the hard disk by theprocessor comprises determining expected access frequencies for a giventime period for the plurality of blocks on the hard disk by theprocessor; the assigning the plurality of blocks to the plurality ofcategories of I/O characteristics by the processor comprises: assigningthe plurality of blocks to a plurality of categories of expected accessfrequencies for the given time period by the processor; and theclustering the content of the blocks assigned to the same category inthe one or more continuous tracks on the hard disk by the processorcomprises: clustering the content of the blocks assigned to the samecategory of expected access frequency in the one or more continuoustracks on the hard disk by the processor.

In one aspect of the present invention, the determining the I/Ocharacteristics for the plurality of blocks on the hard disk by theprocessor comprises assigning a plurality of counters for the pluralityof blocks of the hard disk by the processor, and for each of theplurality of blocks, incrementing by the processor the counter for theblock each time a read operation or a write operation is performed onthe block; the assigning the plurality of blocks to the plurality ofcategories of I/O characteristics by the processor comprises assigningone of the plurality of categories to each of the plurality of blocks bythe processor, wherein the plurality of categories are defined based onthresholds of the plurality of counter values; the clustering thecontent of the blocks assigned to the same category in the one or morecontinuous tracks on the hard disk by the processor comprises clusteringthe content of the blocks assigned the same counter value category inthe one or more continuous tracks on the hard disk by the processor.

In one aspect of the present invention, the determining the I/Ocharacteristics for the plurality of blocks on the hard disk by theprocessor comprises maintaining a table comprising a number of accessesand remanence states of the plurality of blocks on the hard disk by theprocessor; the assigning the plurality of blocks to the plurality ofcategories of I/O characteristics by the processor comprises defining aspace by the processor representing the plurality of blocks withattribute dimensions comprising the number of accesses, time, and theremanence states, placing objects representing the plurality of blockswithin the space by the processor, and applying a K-means clusteringalgorithm on the objects by the processor using a plurality ofcategories of the attribute dimensions as classes; the clustering thecontent of the blocks assigned to the same category in the one or morecontinuous tracks on the hard disk by the processor comprises: storingthe content of the plurality of blocks in each cluster in the space inthe one or more continuous tracks on the hard disk by the processor.

In one aspect of the present invention, the method further comprises:performing at least one overwrite operation on at least one of theplurality of blocks of a track on the hard disk by the processor;determining by the processor if a predetermined threshold of overwritesfor the block is reached; and in response to determining that thepredetermined threshold of overwrites for the block is reached,refreshing content of adjacent tracks by the processor.

System and computer program products corresponding to theabove-summarized methods are also described and claimed herein.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

FIG. 1 illustrates an embodiment of a system for mitigating adjacenttrack erasures in hard disks according to the present invention.

FIG. 2 is a flowchart illustrating an embodiment of a method formitigating adjacent track erasures in hard disks according to thepresent invention.

FIG. 3 is a flowchart illustrating an embodiment of the method formitigating adjacent track erasures in hard disks for secure deletion,according to the present invention.

FIG. 4 is a flowchart illustrating an embodiment of the method formitigating adjacent track erasures in hard disks using a time dimensionaccording to the present invention.

FIG. 5 is a flowchart illustrating an embodiment of the determining ofthe I/O characteristics of the plurality of blocks according to thepresent invention.

FIG. 6 is a flowchart illustrating an embodiment of the clustering ofthe plurality of blocks according to the present invention.

DETAILED DESCRIPTION

As will be appreciated by one skilled in the art, aspects of the presentinvention may be embodied as a system, method or computer programproduct. Accordingly, aspects of the present invention may take the formof an entirely hardware embodiment, an entirely software embodiment(including firmware, resident software, micro-code, etc.) or anembodiment combining software and hardware aspects that may allgenerally be referred to herein as a “circuit,” “module” or “system.”Furthermore, aspects of the present invention may take the form of acomputer program product embodied in one or more computer readablemedium(s) having computer readable program code embodied thereon.

Any combination of one or more computer readable medium(s) may beutilized. The computer readable medium may be a computer readable signalmedium or a computer readable storage medium. A computer readablestorage medium may be, for example, but not limited to, an electronic,magnetic, optical, electromagnetic, infrared, or semiconductor system,apparatus, or device, or any suitable combination of the foregoing. Morespecific examples (a non-exhaustive list) of the computer readablestorage medium would include the following: an electrical connectionhaving one or more wires, a portable computer diskette, a hard disk, arandom access memory (RAM), a read-only memory (ROM), an erasableprogrammable read-only memory (EPROM or Flash memory), an optical fiber,a portable compact disc read-only memory (CD-ROM), an optical storagedevice, a magnetic storage device, or any suitable combination of theforegoing. In the context of this document, a computer readable storagemedium may be any tangible medium that can contain, or store a programfor use by or in connection with an instruction execution system,apparatus, or device.

A computer readable signal medium may include a propagated data signalwith computer readable program code embodied therein, for example, inbaseband or as part of a carrier wave. Such a propagated signal may takeany of a variety of forms, including, but not limited to,electro-magnetic, optical, or any suitable combination thereof. Acomputer readable signal medium may be any computer readable medium thatis not a computer readable storage medium and that can communicate,propagate, or transport a program for use by or in connection with aninstruction execution system, apparatus, or device.

Program code embodied on a computer readable medium may be transmittedusing any appropriate medium, including but not limited to wireless,wireline, optical fiber cable, RF, etc., or any suitable combination ofthe foregoing.

Computer program code for carrying out operations for aspects of thepresent invention may be written in any combination of one or moreprogramming languages, including an object oriented programming languagesuch as Java™ (Java, and all Java-based trademarks and logos aretrademarks of Sun Microsystems, Inc. in the United States, othercountries, or both), Smalltalk, C++ or the like and conventionalprocedural programming languages, such as the “C” programming languageor similar programming languages. The program code may execute entirelyon the user's computer, partly on the user's computer, as a stand-alonesoftware package, partly on the user's computer and partly on a remotecomputer or entirely on the remote computer or server. In the latterscenario, the remote computer may be connected to the user's computerthrough any type of network, including a local area network (LAN) or awide area network (WAN), or the connection may be made to an externalcomputer (for example, through the Internet using an Internet ServiceProvider).

Aspects of the present invention are described below with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems) and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer program instructions. These computer program instructions maybe provided to a processor of a general purpose computer special purposecomputer or other programmable data processing apparatus to produce amachine, such that the instructions, which execute via the processor ofthe computer or other programmable data processing apparatus, createmeans for implementing the functions/acts specified in the flowchartand/or block diagram block or blocks.

These computer program instructions may also be stored in a computerreadable medium that can direct a computer, other programmable dataprocessing apparatus, or other devices to function in a particularmanner, such that the instructions stored in the computer readablemedium produce an article of manufacture including instructions whichimplement the function/act specified in the flowchart and/or blockdiagram block or blocks.

The computer program instructions may also be loaded onto a computer,other programmable data processing apparatus, or other devices to causea series of operational steps to be performed on the computer, otherprogrammable apparatus or other devices to produce a computerimplemented process such that the instructions which execute on thecomputer or other programmable apparatus provide processes forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof code, which comprises one or more executable instructions forimplementing the specified local function(s). It should also be notedthat, in some alternative implementations, the functions noted in theblock may occur out of the order noted in the figures. For example, twoblocks shown in succession may, in fact, be executed substantiallyconcurrently, or the blocks may sometimes be executed in the reverseorder, depending upon the functionality involved. It will also be notedthat each block of the block diagrams and/or flowchart illustration, andcombinations of blocks in the block diagrams and/or flowchartillustration, can be implemented by special purpose hardware-basedsystems that perform the specified functions or acts, or combinations ofspecial purpose hardware and computer instructions.

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting of the invention. Asused herein, the singular forms “a”, “an” and “the” are intended toinclude the plural forms as well, unless the context clearly indicatesotherwise. It will be further understood that the terms “comprises”and/or “comprising,” when used in this specification, specify thepresence of stated features, integers, steps, operations, elements,and/or components, but do not preclude the presence or addition of oneor more other features, integers, steps, operations, elements,components, and/or groups thereof.

The corresponding structures, materials, acts, and equivalents of allmeans or step plus function elements in the claims below are intended toinclude any structure, material, or act for performing the function incombination with other claimed elements as specifically claimed. Thedescription of the present invention has been presented for purposes ofillustration and description, but is not intended to be exhaustive orlimited to the invention in the form disclosed. Many modifications andvariations will be apparent to those of ordinary skill in the artwithout departing from the scope and spirit of the invention. Theembodiment was chosen and described in order to best explain theprinciples of the invention and the practical application, and to enableothers of ordinary skill in the art to understand the invention forvarious embodiments with various modifications as are suited to theparticular use contemplated.

FIG. 1 illustrates an embodiment of a system for mitigating adjacenttrack erasures in hard disks according to the present invention. Thesystem comprises a computer 101 operationally coupled to a hard diskdrive comprising one or more hard disks 105, where data is read andwritten to tracks on the hard disk 105 by a disk head 106. The computer101 is further operationally coupled to a processor 102 and a computerreadable medium 103. The computer readable medium 103 stores computerreadable program code 104 for implementing the method of the presentinvention. The processor 102 executes the program code 104 to mitigateadjacent track erasure in hard disks 105 according to the variousembodiments of the present invention.

FIG. 2 is a flowchart illustrating an embodiment of a method formitigating adjacent track erasures in hard disks according to thepresent invention. The method determines the I/O characteristics for aplurality of blocks on the hard disk 105 (201). The method then assignsthe blocks to categories of I/O characteristics (202). The content ofblocks assigned the same category are clustered in one or morecontinuous tracks on the hard disk 105 (203). The clustering of theblocks may be performed by moving the content to the continuous tracks,or by taking the assigned category into account when the block isinitially written. In this embodiment, each block is assigned to onecategory. Blocks with similar I/O characteristics are thus clustered onone or more continuous tracks. By performing this clustering, blockswith a high number of I/O operations are grouped and stored on fewertracks than if they were scattered across numerous tracks. This reducesthe number of tracks experiencing a high number of I/O operations, andin turn, the amount of refreshing of adjacent tracks is reduced.

In one embodiment, the I/O characteristics comprise the access frequencyof the plurality of blocks. The method determines the access frequenciesof each block on the hard disk 105 (201). Blocks with high accessfrequencies are assigned to the same high access frequency category,while blocks with low access frequencies are assigned to the same lowaccess frequency category (202). An example of high access frequencyblocks include blocks storing a current time, where the current time isrewritten at regular intervals. The content of the blocks assigned tothe same high access frequency category are then clustered in one ormore continuous tracks (203). Only the tracks adjacent to the tracksstoring the high access frequency blocks will be refreshed frequently.The content of the blocks assigned to the same low access frequencycategory are clustered in another set of continuous tracks (203). Thetracks adjacent to the tracks storing the low access frequency blockswould be refreshed less frequently.

For example, assume that frequently accessed files are stored in blocksscattered across five tracks, requiring the refreshing of ten adjacenttracks. However, when these blocks are clustered in one track, only twoadjacent tracks need to be refreshed, resulting in a gain inperformance.

In another embodiment, the I/O characteristics pertain to therequirements for the secure deletion of files. FIG. 3 is a flowchartillustrating an embodiment of the method for mitigating adjacent trackerasures in hard disks for secure deletion, according to the presentinvention. In this embodiment, the method determines the secure deletionrequirements for a plurality of blocks of the hard disk 105, where thesecure deletion requirements comprise overwriting rates for the blocks(301). The method assigns the blocks to categories associated with theoverwriting rates (302). The content of the blocks assigned the sameoverwriting rate category are clustered in one or more continuous trackson the hard disk 105 (303). The secure deletion requirements may be setby government regulation or by any other security standards.

For example, assume that a file stored on blocks scattered across fivetracks is classified as high security, and the method determines thatregulations require a rate of ten overwrites to the blocks to facilitateits secure deletion (301). Categories for different thresholds ofoverwrites are defined, and the blocks for this file are assigned to thesame ten-overwrites-or-over category (302). The content of these blocks,i.e., the high security file, are then clustered in one or morecontinuous tracks of the hard disk 105 (303). By clustering these blocksin this manner, only two adjacent tracks need to be refreshed, asopposed to ten adjacent tracks if the blocks remained scattered.

When the secure deletion of the high security file is performed, theblocks in tracks storing the file are overwritten at least ten times.The method determines if the overwriting of the blocks have reached apredetermined threshold of overwrites, defined to determine when ATI orATE may become a problem for adjacent tracks. In response to determiningthat the predetermined threshold has been reached, the content of theadjacent tracks are refreshed.

In another embodiment, the I/O characteristics comprise a timedimension, where the access frequencies of blocks may vary from timeperiod to time period. FIG. 4 is a flowchart illustrating an embodimentof the method for mitigating adjacent track erasures in hard disks usinga time dimension according to the present invention. The methoddetermines the expected access frequencies for a given time period forthe plurality of blocks (401). The method assigns the blocks tocategories of expected access frequencies for the given time period(402). The content of the blocks assigned the same expected accessfrequency category are then clustered in one more continuous tracks onthe hard disk 105 (403).

For example, assume that files containing Thanksgiving offers are storedon blocks scattered across five tracks. For the time period defined forthe Thanksgiving holiday, the method determines that these blocks areexpected to have high access frequencies for the Thanksgiving holiday(401). During the Thanksgiving holiday, the method assigns these blocksto the same high access frequency category (402). The content of theblocks, i.e., the files containing the Thanksgiving offers, are thenclustered in continuous tracks of the hard disk 105 (403). By clusteringthe blocks in this manner, only two adjacent tracks need to berefreshed, as opposed to ten adjacent racks if the blocks remainedscattered.

Although the embodiment are described with the I/O characteristicsabove, one of ordinary skill in the art will understand that a varietyof I/O characteristics of the plurality of blocks may be used, alone orin combination, without departing from the spirit and scope of thepresent invention.

FIG. 5 is a flowchart illustrating an embodiment of the determining ofthe I/O characteristics of the plurality of blocks according to thepresent invention. The method assigns counters for the plurality ofblocks of the hard disk 105 (501). For example, the counter may bestored in a table. In this embodiment, there is one counter for eachblock. Each time a read or write operation is performed on a block, theblock's counter is incremented (502). The method assigns a category toeach block, where categories are defined based on thresholds of countervalues (503). The method clusters the content of the blocks assigned tothe same counter value category in one or more continuous tracks on thehard disk 105 (504).

FIG. 6 is a flowchart illustrating an embodiment of the clustering ofthe plurality of blocks according to the present invention. The methodmaintains a table of the number of accesses and the remanence states ofthe plurality of blocks on the hard disk 105 (601). The method defines aspace representing the blocks with the following attribute dimensions:number of accesses, time, and remanence state (602). For example, thesedimensions can define the X, Y, and Z-axes of a three dimensional space.Objects representing the blocks are placed within the space (603). TheK-Means clustering algorithm is then applied on the objects usingcategories of the attribute dimensions as the classes (604).

K-means is an unsupervised learning algorithm that solves clusteringproblems. The algorithm classifies a given data set through a certainnumber (k) of clusters fixed a priori. K centroids are defined, one foreach cluster. Each point belonging to a given data set is assigned tothe nearest centroid. K new centroids are then re-calculated asbarycenters of the clusters resulting from the previous step. A newbinding is then done between the same data set points and the nearestnew centroid. A loop is thus generated. As a result of this loop, the kcentroids change their locations step by step until no more changesoccur, i.e., the centroids do not move any more. This algorithm aims atminimizing an object function, such as V=Σ_(i=1) ^(k)Σ_(kjεS) _(i)(x_(j)−μ_(i))², where there are k clusters=S_(i), where i=1, 2, . . . k,and μ_(i) is the centroid or mean point of all the point x_(i)εS_(i).The K-Means clustering algorithm is known in the art and will not bedescribed further here.

The application of the K-Means algorithm results in the clustering ofblocks with similar or same attribute dimensions. The content of theblocks in each cluster in the space are then stored in one or morecontinuous tracks on the hard disk 105 (604). The availability ofcontinuous tracks on the hard disk 105 may be determined in a variety ofways. For example, on Direct Access Storage Devices (DASD), theavailability of storage blocks within a storage subpool is recorded inan allocation control structure. Storage subpools are divided intoallocation units which contain a fixed number of consecutive DASDstorage blocks. Storage subpools are divided into allocation units toreduce the amount of data needed to record the availability of storageblocks. Storage is allocated to a requesting function in extents ofconsecutive allocation units. An extent of allocated storage is formedfrom a number of consecutive allocation units. The allocation unitsforming any allocated extent belong to the same storage subpool, and thestorage blocks within an extent are consecutive DASD storage blocks.Extents allocated for use of the working store consist of fixed numberof working storage allocation units. Any subpool block is accessed by arelative data set identifier and a relative block number within the dataset. Space allocation on DASD using an allocation control structure isknown in the art and will not be described further here.

Although the embodiment above is described using the K-means clusteringalgorithm, one of ordinary skill in the art will understand that othermethods of clustering may be used without departing from the spirit andscope of the present invention.

A method, system, and computer program product for mitigating adjacenttrack erasures in hard disks have been disclosed. Blocks on a hard diskare assigned categories of I/O characteristics, and blocks assigned tothe same category are clustered on one or more continuous tracks. Byperforming this clustering, blocks with a high number of I/O operationsare grouped and stored on fewer tracks than if they were scattered crossnumerous tracks. This reduces the number of tracks experiencing a highnumber of I/O operations, and in turn, the amount of refreshing ofadjacent racks is reduced.

Although the present invention has been described in accordance with theembodiments shown, one of ordinary skill in the art will readilyrecognize that there could be variations to the embodiments and thosevariations would be within the spirit and scope of the presentinvention. Accordingly, many modifications may be made by one ofordinary skill in the art without departing from the spirit and scope ofthe appended claims.

1. A method implemented by a computing device for mitigating adjacenttrack erasures in hard disks, the computing device operationally coupledto a processor, the method comprising: determining input/output (I/O)characteristics for a plurality of blocks on a hard disk by theprocessor; assigning the plurality of blocks to a plurality ofcategories of I/O characteristics by the processor; and clusteringcontent of the blocks assigned to the same category in one or morecontinuous tracks on the hard disk by the processor.
 2. The method ofclaim 1, wherein the determining the I/O characteristics for theplurality of blocks on the hard disk by the processor comprises:determining secure deletion requirements for the plurality of blocks onthe hard disk by the processor, the secure deletion requirementscomprising overwriting rates for the plurality of blocks; wherein theassigning the plurality of blocks to the plurality of categories of I/Ocharacteristics by the processor comprises: assigning the plurality ofblocks to a plurality of categories associated with the overwritingrates; and wherein the clustering the content of the blocks assigned tothe same category in the one or more continuous tracks on the hard diskby the processor comprises: clustering the content of the blocksassigned to the same overwriting rate category in the one or morecontinuous tracks on the hard disk by the processor.
 3. The method ofclaim 1, wherein the determining the I/O characteristics for theplurality of blocks on the hard disk by the processor comprises:determining expected access frequencies for a given time period for theplurality of blocks on the hard disk by the processor; wherein theassigning the plurality of blocks to the plurality of categories of I/Ocharacteristics by the processor comprises: assigning the plurality ofblocks to a plurality of categories of expected access frequencies forthe given time period by the processor; and wherein the clustering thecontent of the blocks assigned to the same category in the one or morecontinuous tracks on the hard disk by the processor comprises:clustering the content of the blocks assigned to the same category ofexpected access frequency in the one or more continuous tracks on thehard disk by the processor.
 4. The method of claim 1, wherein thedetermining the I/O characteristics for the plurality of blocks on thehard disk by the processor comprises: assigning a plurality of countersfor the plurality of blocks of the hard disk by the processor, and foreach of the plurality of blocks, incrementing by the processor thecounter for the block each time a read operation or a write operation isperformed on the block; wherein the assigning the plurality of blocks tothe plurality of categories of I/O characteristics by the processorcomprises: assigning one of the plurality of categories to each of theplurality of blocks by the processor, wherein the plurality ofcategories are defined based on thresholds of the plurality of countervalues; wherein the clustering the content of the blocks assigned to thesame category in the one or more continuous tracks on the hard disk bythe processor comprises: clustering the content of the blocks assignedthe same counter value category in the one or more continuous tracks onthe hard disk by the processor.
 5. The method of claim 1, wherein thedetermining the I/O characteristics for the plurality of blocks on thehard disk by the processor comprises: maintaining a table comprising anumber of accesses and remanence states of the plurality of blocks onthe hard disk by the processor; wherein the assigning the plurality ofblocks to the plurality of categories of I/O characteristics by theprocessor comprises: defining a space by the processor representing theplurality of blocks with attribute dimensions comprising the number ofaccesses, time, and the remanence states, placing objects representingthe plurality of blocks within the space by the processor, and applyinga K-means clustering algorithm on the objects by the processor using aplurality of categories of the attribute dimensions as classes; whereinthe clustering the content of the blocks assigned to the same categoryin the one or more continuous tracks on the hard disk by the processorcomprises: storing the content of the plurality of blocks in eachcluster in the space in the one or more continuous tracks on the harddisk by the processor.
 6. The method of claim 1, further comprising:performing at least one overwrite operation on at least one of theplurality of blocks of a track on the hard disk by the processor;determining by the processor if a predetermined threshold of overwritesfor the block is reached; and in response to determining that thepredetermined threshold of overwrites for the block is reached,refreshing content of adjacent tracks by the processor.
 7. A computerprogram product for mitigating adjacent track erasure in hard disks, thecomputer program product comprising: a computer readable storage mediumhaving computer readable program code embodied therewith, the computerreadable program code configured to: determine input/output (I/O)characteristics for a plurality of blocks on a hard disk; assign theplurality of blocks to a plurality of categories of I/O characteristics;and cluster content of the blocks assigned to the same category in oneor more continuous tracks on the hard disk.
 8. The computer programproduct of claim 7, wherein the computer readable program codeconfigured to determine the I/O characteristics for the plurality ofblocks on the hard disk is further configured to: determine securedeletion requirements for the plurality of blocks on the hard disk, thesecure deletion requirements comprising overwriting rates for theplurality of blocks; wherein the computer readable program codeconfigured to assign the plurality of blocks to the plurality ofcategories of I/O characteristics is further configured to: assign theplurality of blocks to a plurality of categories associated with theoverwriting rates; and wherein the computer readable program codeconfigured to cluster the content of the blocks assigned to the samecategory in the one or more continuous tracks on the hard disk isfurther configured to: cluster the content of the blocks assigned to thesame overwriting rate category in the one or more continuous tracks onthe hard disk.
 9. The computer program product of claim 7, wherein thecomputer readable program code configured to determine the I/Ocharacteristics for the plurality of blocks on the hard disk is furtherconfigured to: determine expected access frequencies for a given timeperiod for the plurality of blocks on the hard disk; wherein thecomputer readable program code configured to assign the plurality ofblocks to the plurality of categories of I/O characteristics is furtherconfigured to: assign the plurality of blocks to a plurality ofcategories of expected access frequencies for the given time period; andwherein the computer readable program code configured to cluster thecontent of the blocks assigned to the same category in the one or morecontinuous tracks on the hard disk is further configured to: cluster thecontent of the blocks assigned to the same category of expected accessfrequency in the one or more continuous tracks on the hard disk.
 10. Thecomputer program product of claim 7, wherein the computer readableprogram code configured to determine the I/O characteristics for theplurality of blocks on the hard disk is further configured to: assign aplurality of counters for the plurality of blocks of the hard disk, andfor each of the plurality of blocks, increment the counter for the blockeach time a read operation or a write operation is performed on theblock; wherein the computer readable program code configured to assignthe plurality of blocks to the plurality of categories of I/Ocharacteristics is further configured to: assign one of the plurality ofcategories to each of the plurality of blocks, wherein the plurality ofcategories are defined based on thresholds of the plurality of countervalues; wherein the computer readable program code configured to clusterthe content of the blocks assigned to the same category in the one ormore continuous tracks on the hard disk is further configured to:cluster the content of the blocks assigned the same counter valuecategory in the one or more continuous tracks on the hard disk.
 11. Thecomputer program product of claim 7, wherein the computer readableprogram code configured to determine the I/O characteristics for theplurality of blocks on the hard disk is further configured to: maintaina table comprising a number of accesses and remanence states of theplurality of blocks on the hard disk; wherein the computer readableprogram code configured to assign the plurality of blocks to theplurality of categories of I/O characteristics is further configured to:define a space representing the plurality of blocks with attributedimensions comprising the number of accesses, time, and the remanencestates, place objects representing the plurality of blocks within thespace, and apply a K-means clustering algorithm on the objects using aplurality of categories of the attribute dimensions as classes; whereinthe computer readable program code configured to cluster the content ofthe blocks assigned to the same category in the one or more continuoustracks on the hard disk is further configured to: store the content ofthe plurality of blocks in each cluster in the space in the one or morecontinuous tracks on the hard disk.
 12. The computer program product ofclaim 7, wherein computer readable program code is further configuredto: perform at least one overwrite operation on at least one of theplurality of blocks of a track on the hard disk; determine if apredetermined threshold of overwrites for the block is reached; and inresponse to determining that the predetermined threshold of overwritesfor the block is reached, refresh content of adjacent tracks.
 13. Asystem comprising: at least one hard disk comprising a plurality oftracks, each track comprising a plurality of blocks; a processor; and acomputer readable storage medium operationally coupled to the processor,the computer readable storage medium having computer readable programcode embodied therewith to be executed by the processor, the computerreadable program code configured to: determine input/output (I/O)characteristics for the plurality of blocks on the hard disk; assign theplurality of blocks to a plurality of categories of I/O characteristics;and cluster content of the blocks assigned to the same category in oneor more continuous tracks of the plurality of tracks on the hard disk.14. The system of claim 13, wherein the computer readable program codeconfigured to determine the I/O characteristics for the plurality ofblocks on the hard disk is further configured to: determine securedeletion requirements for the plurality of blocks on the hard disk, thesecure deletion requirements comprising overwriting rates for theplurality of blocks; wherein the computer readable program codeconfigured to assign the plurality of blocks to the plurality ofcategories of I/O characteristics is further configured to: assign theplurality of blocks to a plurality of categories associated with theoverwriting rates; and wherein the computer readable program codeconfigured to cluster the content of the blocks assigned to the samecategory in the one or more continuous tracks on the hard disk isfurther configured to: cluster the content of the blocks assigned to thesame overwriting rate category in the one or more continuous tracks onthe hard disk.
 15. The system of claim 13, wherein the computer readableprogram code configured to determine the I/O characteristics for theplurality of blocks on the hard disk is further configured to: determineexpected access frequencies for a given time period for the plurality ofblocks on the hard disk; wherein the computer readable program codeconfigured to assign the plurality of blocks to the plurality ofcategories of I/O characteristics is further configured to: assign theplurality of blocks to a plurality of categories of expected accessfrequencies for the given time period; and wherein the computer readableprogram code configured to cluster the content of the blocks assigned tothe same category in the one or more continuous tracks on the hard diskis further configured to: cluster the content of the blocks assigned tothe same category of expected access frequency in the one or morecontinuous tracks on the hard disk.
 16. The system of claim 13, whereinthe computer readable program code configured to determine the I/Ocharacteristics for the plurality of blocks on the hard disk is furtherconfigured to: assign a plurality of counters for the plurality ofblocks of the hard disk, and for each of the plurality of blocks,increment the counter for the block each time a read operation or awrite operation is performed on the block; wherein the computer readableprogram code configured to assign the plurality of blocks to theplurality of categories of I/O characteristics is further configured to:assign one of the plurality of categories to each of the plurality ofblocks, wherein the plurality of categories are defined based onthresholds of the plurality of counter values; wherein the computerreadable program code configured to cluster the content of the blocksassigned to the same category in the one or more continuous tracks onthe hard disk is further configured to: cluster the content of theblocks assigned the same counter value category in the one or morecontinuous tracks on the hard disk.
 17. The system of claim 13, whereinthe computer readable program code configured to determine the I/Ocharacteristics for the plurality of blocks on the hard disk is furtherconfigured to: maintain a table comprising a number of accesses andremanence states of the plurality of blocks on the hard disk; whereinthe computer readable program code configured to assign the plurality ofblocks to the plurality of categories of I/O characteristics is furtherconfigured to: define a space representing the plurality of blocks withattribute dimensions comprising the number of accesses, time, and theremanence states, place objects representing the plurality of blockswithin the space, and apply a K-means clustering algorithm on theobjects using a plurality of categories of the attribute dimensions asclasses; wherein the computer readable program code configured tocluster the content of the blocks assigned to the same category in theone or more continuous tracks on the hard disk is further configured to:store the content of the plurality of blocks in each cluster in thespace in the one or more continuous tracks on the hard disk.
 18. Thesystem of claim 13, wherein computer readable program code is furtherconfigured to: perform at least one overwrite operation on at least oneof the plurality of blocks of a track on the hard disk; determine if apredetermined threshold of overwrites for the block is reached; and inresponse to determining that the predetermined threshold of overwritesfor the block is reached, refresh content of adjacent tracks.
 19. Acomputer implemented method for mitigating adjacent track erasures inhard disks, the computer operationally coupled to a processor, themethod comprising: determining input/output (I/O) characteristics for aplurality of blocks on the hard disk by the processor, the I/Ocharacteristics comprising secure deletion requirements, the securedeletion requirements comprising overwriting rates for the plurality ofblocks; assigning the plurality of blocks to a plurality of categoriesassociated with the overwriting rates by the processor; and clusteringcontent of the blocks assigned to the same overwriting rate category inone or more continuous tracks on the hard disk by the processor.
 20. Themethod of claim 19, wherein the I/O characteristics further comprisesexpected access frequencies for a given time period for the plurality ofblocks on the hard disk, wherein the determining the I/O characteristicsfor the plurality of blocks on the hard disk by the processor, the I/Ocharacteristics comprising secure deletion requirements, the securedeletion requirements comprising the overwriting rates for the pluralityof blocks, further comprises: determining the expected accessfrequencies for the given time period for the plurality of blocks on thehard disk by the processor; wherein the assigning the plurality ofblocks to the plurality of categories associated with the overwritingrates by the processor further comprises: assigning the plurality ofblocks to a plurality of categories of expected access frequencies forthe given time period by the processor; and wherein the clustering thecontent of the blocks assigned to the same overwriting rate category inthe one or more continuous tracks on the hard disk by the processorfurther comprises: clustering the content of the blocks assigned to thesame category of expected access frequency in the one or more continuoustracks on the hard disk by the processor.
 21. The method of claim 19,wherein the I/O characteristics further comprises counter values for theplurality of blocks on the hard disk, wherein the determining the I/Ocharacteristics for the plurality of blocks on the hard disk by theprocessor, the I/O characteristics comprising secure deletionrequirements, the secure deletion requirements comprising theoverwriting rates for the plurality of blocks, further comprises:assigning a plurality of counters for the plurality of blocks of thehard disk by the processor, and for each of the plurality of blocks,incrementing by the processor the counter for the block each time a readoperation or a write operation is performed on the block; wherein theassigning the plurality of blocks to the plurality of categoriesassociated with the overwriting rates by the processor furthercomprises: assigning one of the plurality of categories to each of theplurality of blocks by the processor, wherein the plurality ofcategories are defined based on thresholds of the plurality of countervalues; wherein the clustering the content of the blocks assigned to thesame overwriting rate category in the one or more continuous tracks onthe hard disk by the processor further comprises: clustering the contentof the blocks assigned the same counter value category in the one ormore continuous tracks on the hard disk by the processor.
 22. The methodof claim 19, wherein the determining the I/O characteristics for theplurality of blocks on the hard disk by the processor, the I/Ocharacteristics comprising secure deletion requirements, the securedeletion requirements comprising the overwriting rates for the pluralityof blocks, further comprises: maintaining a table comprising a number ofaccesses and remanence states of the plurality of blocks on the harddisk by the processor; wherein the assigning the plurality of blocks tothe plurality of categories associated with the overwriting rates by theprocessor further comprises: defining a space by the processorrepresenting the plurality of blocks with attribute dimensionscomprising the number of accesses, time, and the remanence states, andplacing objects representing the plurality of blocks within the space bythe processor, and applying a K-means clustering algorithm on theobjects by the processor using a plurality of categories of theattribute dimensions as classes; wherein the clustering the content ofthe blocks assigned to the same overwriting rate category in the one ormore continuous tracks on the hard disk by the processor furthercomprises: storing the content of the plurality of blocks in eachcluster in the space in the one or more continuous tracks on the harddisk by the processor.
 23. The method of claim 19, further comprising:performing at least one overwrite operation on at least one of theplurality of blocks of a track on the hard disk by the processor;determining by the processor if a predetermined threshold of overwritesfor the block is reached; and in response to determining that thepredetermined threshold of overwrites for the block is reached,refreshing content of adjacent tracks by the processor.